package seatiger.tomcat.catalina;

import javax.servlet.http.HttpSession;

/**
 * 内部接口Session的定义
 */
public interface Session {

    /**
     * 设置session id
     * @param id
     */
    void setId(String id);

    /**
     * 获取session id
     * @return
     */
    String getId();

    /**
     * 获取实现HttpSession 的门面
     * @return
     */
    HttpSession getSession();

    /**
     * 设置session是否有效
     * @param isValid
     */
    void setValid(boolean isValid);

    /**
     * 获取session是否有效
     * @return
     */
    boolean isValid();

    /**
     * 设置session最大不活动间隔时间
     * @param interval
     */
    void setMaxInactiveInterval(int interval);

    /**
     * 执行一些操作，如果session 已经失效，则不执行
     */
    void expire();

    /**
     * 更新session 的信息
     */
    void access();

    /**
     * 设置session 的管理器
     * @param manager
     */
    void setManager(Manager manager);

    long getLastAccessedTime();
}
